import logging
from packages.engine.core import Execution
from packages.engine.flow_interceptor import FlowInterceptor


class StartPreInterceptor(FlowInterceptor):
    """
    开始节点前置拦截器
    """

    def intercept(self, execution: Execution):
        logging.debug("开始节点前置拦截器：StartPreInterceptor")


class StartPostInterceptor(FlowInterceptor):
    """
    开始节点后置拦截器
    """

    def intercept(self, execution: Execution):
        logging.debug("开始节点后置拦截器：StartPostInterceptor")


class ApplyPreInterceptor(FlowInterceptor):
    """
    请假申请节点前置拦截器
    """

    def intercept(self, execution: Execution):
        logging.debug("请假申请节点前置拦截器：ApplyPreInterceptor")


class ApplyPostInterceptor(FlowInterceptor):
    """
    请假申请节点后置拦截器
    """

    def intercept(self, execution: Execution):
        logging.debug("请假申请节点后置拦截器：ApplyPostInterceptor")


class ApproveDeptPreInterceptor(FlowInterceptor):
    """
    部门领导审批节点前置拦截器
    """

    def intercept(self, execution: Execution):
        logging.debug("部门领导审批节点前置拦截器：ApproveDeptPreInterceptor")


class ApproveDeptPostInterceptor(FlowInterceptor):
    """
    部门领导审批节点后置拦截器
    """

    def intercept(self, execution: Execution):
        logging.debug("部门领导审批节点后置拦截器：ApproveDeptPostInterceptor")


class EndPreInterceptor(FlowInterceptor):
    """
    结束节点前置拦截器
    """

    def intercept(self, execution: Execution):
        logging.debug("结束节点前置拦截器：EndPreInterceptor")


class EndPostInterceptor(FlowInterceptor):
    """
    结束节点后置拦截器
    """

    def intercept(self, execution: Execution):
        logging.debug("结束节点后置拦截器：EndPostInterceptor")
